<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>farm</title><link href=/static/css/app.7e46fc445709f9e2dca8e1366739dc47.css rel=stylesheet></head><body><div id=app></div><script>// 1.this指向 : 运行在浏览器 this 指向的是window

    // 2. 浏览器的函数中
    //    调用的方式  执行这个函数 this 指向的就是window
    // 3. new 函数   this指向的是构造实例
    // 4. 对象中的es5的函数 this指向的是当前对象本身
    // 5. 对象中的箭头函数 this指向的是外层函数this的指向 如果外层没有函数 指向的就是window

    // btn.onclick = function(){
    //   console.log(this) // window onclick function btn √ 
    //}

    //改变this指向 
    // call undefined / null   this指向不会发生改变
    // call apply bind 
    // call apply 立即执行  call(this,...参数)  apply(this,[])
    // bind : 不会立即执行
    // 当bind之后  this指向大多数情况不在发生改变 (call / apply /bind)
    // 只有 重新new之后才能改变this指向



    // console.log(this)// object  array  process  undefined  window 

    // function a() {
    //   // let this = new Object()
    //   this.name = '张三';
    //   this.ABC= function(){

    //     console.log(this === aa)
    //     console.log(this.name)
    //   }// object  array  process  undefined  window √
    //   // return this
    // }

    // let aa = new a() 
    // aa.name = '李四'
    // aa.ABC()


    // let obj = {
    //   a:function(){
    //     return ()=>{
    //       console.log(this) //window
    //     }
    //   }
    // }

    // obj.a()()//obj  array  null  undefined  window 

    // let obj = {
    //   a:function(){
    //       console.log(this) //window
    //     }
    // }


    // function b() {
    //   console.log(this);
    // }


    // // b.call(null) //window  []  typeof  NaN 
    // let c = b.bind({ a: 1 })//window  []  typeof  NaN 
    // // 

    // new c()

    // c.call([])// 先bind 再call  //

    // c.bind([])()

    // let btn = {
    //   onclick: function () {
    //     console.log(this)
    //   }
    // }

    // btn.onclick = ()=>{
    //   console.log(this)
    // }</script><script type=text/javascript src=/static/js/manifest.2ae2e69a05c33dfc65f8.js></script><script type=text/javascript src=/static/js/vendor.7defec1f8e000fefcd01.js></script><script type=text/javascript src=/static/js/app.f7388aea42363c31b6d9.js></script></body></html>